package com.example.warehouse.bus.service;

import com.example.warehouse.bus.pojo.entity.BusCustomer;
import com.example.warehouse.bus.pojo.entity.BusProvider;
import com.example.warehouse.bus.pojo.param.BusCustomerAddNewParam;
import com.example.warehouse.bus.pojo.param.BusProviderAddNewParam;
import com.example.warehouse.bus.pojo.vo.BusCustomerStandardVO;
import com.example.warehouse.bus.pojo.vo.BusProviderStandardVO;
import com.example.warehouse.common.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author Linger
 * @date 2023-07-07 8:58
 * @desciption:处理供应商数据的业务接口
 */
@Transactional
public interface IBusProviderService {
    /**
     * 启用状态的显示文本
     */
    String ENABLE_TEXT[] = {"禁用", "启用"};
    /**
    /**
     * 添加供应商
     *
     * @param busProviderAddNewParam 供应商数据
     */
    void addNewBusProvider(BusProviderAddNewParam busProviderAddNewParam);

    /**
     * 删除供应商
     *
     * @param id ID
     */
    void delete(Long id);
    /**
     * 更新客户
     *
     * @param busProvider 更新供应商数据
     */
    void update(BusProvider busProvider);

    BusProviderStandardVO getStandardByProviderId(Long id);
    /**
     * 模糊查询
     * @param providerName 供应商名称
     * @param connectionPerson 联系人姓名
     * @param phone 联系人手机号
     * @return 查询结果列表
     */
    PageData<BusProviderStandardVO> queryByKeyWord(Integer pageNum,String providerName, String connectionPerson, String phone);

    /**
     * 查询供应商列表,默认参数
     *
     * @param pageNum 页码
     * @return 列表
     */
    PageData<BusProvider> list(Integer pageNum);
    PageData<BusProvider> listAsc(Integer pageNum);
    PageData<BusProvider> listDesc(Integer pageNum);
    /**
     * 查询供应商列表
     *
     * @param pageNum  页码
     * @param pageSize 每页记录数
     * @return 供应商列表
     */
    PageData<BusProvider> list(Integer pageNum, Integer pageSize);

    void setProviderDisable(Long id);

    void setProviderEnable(Long id);
}
